package com.wuliu.driver.mapper;

import com.wuliu.driver.pojo.Card;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
* @author Administrator
* @description 针对表【card】的数据库操作Mapper
* @createDate 2025-04-17 14:22:14
* @Entity com.wuliu.driver.pojo.Card
*/
public interface CardMapper {

    /**
     * 根据主键删除卡片记录
     * 该方法接受一个长整型的id参数，代表卡片的唯一标识
     * 返回删除操作影响的行数
     *
     * @param id 卡片的唯一标识
     * @return 删除操作影响的行数
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 插入一个新的卡片记录
     * 该方法接受一个Card对象作为参数，包含所有要插入的卡片信息
     * 返回插入操作影响的行数
     *
     * @param record 要插入的卡片记录
     * @return 插入操作影响的行数
     */
    int insert(Card record);

    /**
     * 选择性插入一个新的卡片记录
     * 该方法接受一个Card对象作为参数，只插入非空字段
     * 返回插入操作影响的行数
     *
     * @param record 要选择性插入的卡片记录
     * @return 插入操作影响的行数
     */
    int insertSelective(Card record);

    /**
     * 根据主键选择卡片记录
     * 该方法接受一个长整型的id参数，代表卡片的唯一标识
     * 返回对应的卡片记录对象，如果找不到则返回null
     *
     * @param id 卡片的唯一标识
     * @return 对应的卡片记录，找不到则返回null
     */
    Card selectByPrimaryKey(Long id);

    /**
     * 选择性更新卡片记录
     * 该方法接受一个Card对象作为参数，根据主键更新非空字段
     * 返回更新操作影响的行数
     *
     * @param record 要选择性更新的卡片记录
     * @return 更新操作影响的行数
     */
    int updateByPrimaryKeySelective(Card record);

    /**
     * 更新卡片记录
     * 该方法接受一个Card对象作为参数，根据主键更新所有字段
     * 返回更新操作影响的行数
     *
     * @param record 要更新的卡片记录
     * @return 更新操作影响的行数
     */
    int updateByPrimaryKey(Card record);


    //查询银行卡信息


    List<Card> selectByCardNumber(Integer id);

    int insertCard(Card card);


    int deleteByBidInt(Integer bid);


}
